// pages/main/main.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    loadHidden: true,
    datas: [],
    modalContent: "",
    modalHidden: true,
    iconHidden:true
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    that.setData({
      loadHidden: false
    });

    requestData(that, mCurrentPage + 1);
  },
  // 弹出 重试按钮
  toRequest: function () {
    var that = this;
    mCurrentPage = 0;
    requestData(that, mCurrentPage + 1);
  },
  onItemClick: function (rest) {
    let tagetUrl = config.PAGE_SPECIFIC;
    if (rest.currentTarget.dataset.publishTime != null)
      tagetUrl = tagetUrl.concat("?publishTime=" + rest.currentTarget.dataset.publishTime);

      wx.navigateTo({
        url: tagetUrl,
      })
  },
  onPostClick:function(rest){

    let tagerUrl = config.PAGE_POST;
    wx.navigateTo({
      url: tagerUrl,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
});
var config = require('../comm/Config.js');
var mCurrentPage = 0;
var titles = [];
var images = [];
var times = [];
function requestData(that, targetPage) {
  wx.request({
    url: config.GET_URL,
    method: "GET",
    header: {
      "Content-Type": "application/json"
    },
    success: function (res) {
      debugger;
      if (res == null || res.data == null ||
        res.data.results == null ||
        res.data.results.length <= 0) {
        console.error(":" + config.ERROR_DATA_IS_NULL);
        that.setData({
          modalContent: config.ERROR_DATA_IS_NULL,
          modalHidden: false,
          loadHidden: true,
        });
        return;
      }

      let i = 0;
      for (; i < res.data.results.length; i++)
        bindData(res.data.results[i]);

      //将获得的各种数据写入itemList，用于setData
      let setItem = [];
      for (let j = 0; j < titles.length; j++) {
        setItem.push({ title: titles[j], src: images[j], time: times[j] });
      }
      that.setData({
        loadHidden: true,
        iconHidden: false,
        datas: setItem
      });
      mCurrentPage = targetPage;
    },
    fail: function (res) {
      debugger;
      that.setData({
        modalContent: res.errMsg,
        modalHidden: false,
        loadHidden: true
      });
    }
  })
};

/**
 * 绑定数据
 * @param itemData Gank的接口返回的content值，里面有各种相关的信息
 */
function bindData(itemData) {
  var re = new RegExp("[a-zA-z]+://[^\"]*");
  //图片URL标志之前的是"img alt"
  var title = itemData.content.split("img alt=")[1].match(re)[0];
  //todo 挺奇怪的，小程序不能显示以 （ww+数字） 开头的图片，把它改成 ws 开头就可以了，不知道为什么
  var src = title;
  // if (-1 != (title.search("//ww"))) {
  //   let src = title.replace("//ww", "//ws");
  // }
  // //早期的URL不一定是ww开头的，不需要转换直接调用
  // else {
  //   let src = title;
  // }
  // debugger
  titles.push(itemData.title);
  //"publishedAt": "2018-03-12T08:44:00.0Z",
  times.push(itemData.publishedAt.split("T")[0]);
  images.push(src);
};
